package com.tarena.lbs.coupon.service.handler;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.coupon.pojo.param.CouponParam;
import com.tarena.lbs.coupon.pojo.param.UpdateCouponParam;
import com.tarena.lbs.coupon.utils.MyResult;

/**
 * @className: CouponTemplateService
 * @author: Feng-hongliang
 * @date: 2025/10/10 15:35
 * @Version: 1.0
 * <p>
 * 该服务类负责处理优惠券模板的相关业务逻辑，包括：
 * 1. 优惠券模板的创建和配置
 * 2. 商家或系统管理员对优惠券模板的管理
 * 3. 优惠券模板的优先级设置和详情管理
 * </p>
 */

public interface CouponTemplateHandler {

    /**
     * 创建优惠券
     *
     * @param couponParam 优惠券参数
     * @return 结果
     * @throws BusinessException 业务异常
     */
    Result<Void> addCoupon(CouponParam couponParam) throws BusinessException;

    /**
     * 更新优惠券
     *
     * @param param 更新参数
     * @return 更新结果
     */
    MyResult<String> updateCoupon(UpdateCouponParam param);
}
